<?php
// L3 MIAGE Nice - Gestion de projets et Analyse des besoins - 2010-2011
// Création d'un site internet de vente de vidéos en ligne
// 
// modificationAdmin.php - Traitement de la requête AJAX de modification d'un compte admin
// 
// Auteur : (groupe 15) Shyn-Yuan CHENG, Abdoul Mazid DIALLO, LAGNEAU Sébastien, NJOTCHA-NJOTCHA Franck-Merlin
// 

// Fonction d'autochargement de classes
//
function __autoload($class_name) {
   require_once ('../../includes/classes/class_'.$class_name . '.php');
}

// Inclure le fichier de configuration pour avoir les paramètres de connexion à la bd
//
include_once("../config/config.php");

// Déclaration du tableau d'erreurs
//
$erreurs= array();//tableau qui stocke les erreurs.

// Vérification de la saisie utilisateur
//
if(!$_POST["login"]) 
   $erreurs[]= "Une erreur est survenue";
if(!$_POST["mdp"]) 
   $erreurs[]= "Veuillez entrer votre mot de passe !";
else {   // Vérifier le mot de passe de l'utilisateur
   // Crypter le mot de passe saisi par l'utilisateur
   //
   $pass= $_POST["mdp"];
   $pass= hash("sha256", PREFIX_SALT.$pass.SUFFIX_SALT);
   $login= $_POST["login"];
     
   // Connexion à la bd
   //
   try {
      $db = dbfactory::factory ('mysql');
   } catch (Exception $e) {
      die($e->getmessage());
   }

   // Faire la vérification dans la base de données
   //
   $sql= "SELECT * FROM administrateur WHERE loginAdm = '$login' AND mdpAdm = '$pass'";
   $requete= $db->query($sql);
   $result= $db->fetch_object($requete);
     
   // Traiter le cas où les informations ne sont pas bonnes
   //
   if(!is_object($result)) $erreurs[]= "Votre mot de passe est incorrect !";
   
   unset($db);
}
if($_POST["nmdp"] && !$_POST["rmdp"]) 
   $erreurs[]= "Veuillez retaper le nouveau mot de passe !";
else if(!$_POST["nmdp"] && $_POST["rmdp"]) 
   $erreurs[]= "Veuillez taper le nouveau mot de passe une premi&egrave;re fois !";
else if($_POST["nmdp"] && $_POST["rmdp"] && $_POST["nmdp"]!=$_POST["rmdp"]) 
   $erreurs[]= "Les nouveaux mots de passe entrés ne correspondent pas !";
if(!$_POST["nom"]) 
   $erreurs[]= "Veuillez entrer un nom !";
if(!$_POST["prenom"]) 
   $erreurs[]= "Veuillez entrer un pr&eacute;nom !";
if(!$_POST["email"]) 
   $erreurs[]= "Veuillez entrer un email !";
else if(!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) 
   $erreurs[]= "Adresse email invalide !";

   
// Traiter le cas où il n'y a aucune erreur de saisie
//
if(count($erreurs) == 0) {
/************************************************************************************************/
/************************** RECUPERATION DES INFORMATIONS RENTREES ******************************/
/************************************************************************************************/
   $login= $_POST["login"];
   $mdp= NULL;
   
   if(!$_POST["nmdp"]) {
      // Crypter le mot de passe
      //
      $mdp= hash("sha256", PREFIX_SALT.$_POST["mdp"].SUFFIX_SALT);
   }
   else {
      // Crypter le mot de passe
      //
      $mdp= hash("sha256", PREFIX_SALT.$_POST["nmdp"].SUFFIX_SALT);
   }
   
   $nom= strtoupper($_POST["nom"]);
   
   // strtolower() et ucfirst() gèrent mal les accents des mots encodés en utf-8
   //
   $prenom= utf8_encode(ucfirst(strtolower(utf8_decode($_POST["prenom"]))));
   
   $email= $_POST["email"];


/************************************************************************************************/
/************************* INSERTION DE L'ADMINISTRATEUR DANS LA BD *****************************/
/************************************************************************************************/
   // Connexion à la BD
   //
   try {
      $db = dbfactory::factory ('mysql');
   } catch (Exception $e) {
      die($e->getmessage());
   }
   
   // Requête SQL
   //
   $sql= "UPDATE administrateur SET mdpAdm='$mdp', nomAdm='$nom', pnomAdm='$prenom', email='$email' WHERE loginAdm='$login'";
   $db->query($sql);
   
   // Indiquer que tout s'est bien passé
   //
   echo "<p class='reussite'>Le compte a bien &eacute;t&eacute; modifi&eacute;.</p>";
}
else {
   echo "<p class='erreur'>";
   for($i=0;$i<count($erreurs);$i++)
      echo "- ".$erreurs[$i]."<br />";
   echo "</p>";
}
?>
